import PropTypes from 'prop-types';
import * as React from 'react';
import Svg, { Circle, G, Path } from 'react-native-svg';

function SolarSystem({ height, width, style }) {
  return (
    <Svg height={height} width={width} viewBox="0 0 512 512" style={style}>
      <Circle cx={256} cy={256} fill="#5f4bbc" r={232} />
      <G fill="#f98500">
        <Path d="M248 168h16v32h-16zM248 312h16v32h-16zM168 248h32v16h-32zM312 248h32v16h-32zM199.378 301.262l34.907-34.907 11.312 11.312-34.907 34.907zM176.747 323.883l11.312-11.312 11.312 11.312-11.312 11.312zM266.294 234.364l34.907-34.906 11.312 11.312-34.907 34.906zM312.52 188.147l11.311-11.312 11.312 11.312-11.312 11.312zM266.285 277.661l11.312-11.312 34.907 34.907-11.312 11.312zM312.501 323.882l11.312-11.312 11.312 11.312-11.312 11.312zM199.387 210.749l11.312-11.312 34.907 34.907-11.312 11.312zM176.765 188.119l11.312-11.312 11.312 11.312-11.312 11.312z" />
      </G>
      <Circle cx={256} cy={256} fill="#ffba40" r={32} />
      <Path
        d="M272 96.8V88a8 8 0 00-13.657-5.657l-16 16a8 8 0 000 11.314l16 16A8 8 0 00272 120v-7.106c71.9 7.985 128 69.112 128 143.106a143.788 143.788 0 01-7.577 46.223l15.154 5.133A159.731 159.731 0 00416 256c0-82.825-63.26-151.149-144-159.2zM140.87 315.8a8 8 0 00-8.87-.582l-5.746 3.317A144.076 144.076 0 01225.676 115.2l-3.352-15.645a160.066 160.066 0 00-109.95 226.994l-8.087 4.669a8 8 0 001.93 14.656l21.856 5.857a7.994 7.994 0 009.8-5.657l5.857-21.857a8 8 0 00-2.86-8.417zM397.584 325.929a8 8 0 00-9.8-5.657l-21.856 5.857A8 8 0 00364 340.785l5.867 3.387a144.019 144.019 0 01-219.973 9.181l-11.788 10.82a159.932 159.932 0 00245.719-11.942l7.888 4.554a8 8 0 0011.727-9z"
        fill="#4c3aa3"
      />
      <Path
        d="M256 496A240 240 0 0186.3 86.294a240 240 0 11339.41 339.412A238.426 238.426 0 01256 496zm0-464A224 224 0 0097.608 414.392 224 224 0 00414.392 97.608 222.535 222.535 0 00256 32z"
        fill="#4c3aa3"
      />
      <Path
        d="M112 136a8 8 0 01-2.97-.572l-80-32a8 8 0 011.03-15.189l58.911-14.728 7.137-42.826A8 8 0 01108.8 25.6l64 48a8 8 0 01.406 12.474l-56 48A8 8 0 01112 136zM57.942 97.761l52.531 21.012 44.749-38.357L109.728 46.3l-5.836 35.019a8 8 0 01-5.952 6.446z"
        fill="#c378cb"
      />
      <Path
        d="M104 48a16 16 0 1116-16 16.019 16.019 0 01-16 16zM168 96a16 16 0 1116-16 16.019 16.019 0 01-16 16zM32 112a16 16 0 1116-16 16.019 16.019 0 01-16 16zM96 96a16 16 0 1116-16 16.019 16.019 0 01-16 16zM112 144a16 16 0 1116-16 16.019 16.019 0 01-16 16z"
        fill="#ffba40"
      />
      <Path
        d="M416 120h-40a8 8 0 01-5-1.753l-40-32 10-12.494L378.807 104h31.159l14.342-50.2A8 8 0 01432 48h48v16h-41.966l-14.342 50.2A8 8 0 01416 120z"
        fill="#c378cb"
      />
      <Path
        d="M336 96a16 16 0 1116-16 16.019 16.019 0 01-16 16zM480 72a16 16 0 1116-16 16.019 16.019 0 01-16 16zM432 72a16 16 0 1116-16 16.019 16.019 0 01-16 16zM376 128a16 16 0 1116-16 16.019 16.019 0 01-16 16zM416 128a16 16 0 1116-16 16.019 16.019 0 01-16 16z"
        fill="#ffba40"
      />
      <Path
        d="M407.667 477.072l-16-.144.3-33.644-37.627-37.627 11.314-11.314 40 40a8 8 0 012.346 5.729z"
        fill="#c378cb"
      />
      <Path d="M400 432h56v16h-56z" fill="#c378cb" />
      <Path
        d="M456 456a16 16 0 1116-16 16.019 16.019 0 01-16 16zM368 424a16 16 0 1116-16 16.019 16.019 0 01-16 16zM400 496a16 16 0 1116-16 16.019 16.019 0 01-16 16zM400 456a16 16 0 1116-16 16.019 16.019 0 01-16 16z"
        fill="#ffba40"
      />
      <Path
        d="M168 480h-16v-59.056l-54.827-27.413-51.967 44.543-10.412-12.148 56-48a8 8 0 018.784-1.081l64 32A8 8 0 01168 416z"
        fill="#c378cb"
      />
      <Path
        d="M40 448a16 16 0 1116-16 16.019 16.019 0 01-16 16zM96 400a16 16 0 1116-16 16.019 16.019 0 01-16 16zM160 432a16 16 0 1116-16 16.019 16.019 0 01-16 16zM160 496a16 16 0 1116-16 16.019 16.019 0 01-16 16z"
        fill="#ffba40"
      />
      <Path
        d="M38.946 331.969l-13.892-7.938L56 269.875V208h16v64a8 8 0 01-1.054 3.969z"
        fill="#c378cb"
      />
      <Path
        d="M32 344a16 16 0 1116-16 16.019 16.019 0 01-16 16zM64 288a16 16 0 1116-16 16.019 16.019 0 01-16 16zM64 224a16 16 0 1116-16 16.019 16.019 0 01-16 16z"
        fill="#ffba40"
      />
      <Path
        d="M440.658 260.558l31.984-63.97 14.304 7.152-31.984 63.97z"
        fill="#c378cb"
      />
      <Path
        d="M480 216a16 16 0 1116-16 16.019 16.019 0 01-16 16zM448 280a16 16 0 1116-16 16.019 16.019 0 01-16 16z"
        fill="#ffba40"
      />
      <Circle cx={256} cy={408} fill="#7e6dd1" r={24} />
      <Path
        d="M408.421 168a24 24 0 10-27 35.182 24.137 24.137 0 006.251.828A24.016 24.016 0 00408.421 168zM136.364 159.215a24 24 0 10-12.039 44.795 24.137 24.137 0 006.251-.828 24 24 0 005.788-43.967z"
        fill="#7e6dd1"
      />
    </Svg>
  );
}

SolarSystem.defaultProps = {
  height: 120,
  width: 120,
};

SolarSystem.propTypes = {
  height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
  width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
  style: PropTypes.object,
};

export default SolarSystem;
